This notebook was written for the AWEAR Case Studies as part of a PhD project on Engineering Systems Design in Healthcare at the Engineering Systems Division, DTU Management, in collaboration with Rigshospitalet-Glostrup.
The purpose of this notebook is to provide regular reports on the data being recorded from study participants, to check that it is being recorded and looks as expected. The R script imports, tests and plots data from a specified participant and timeframe, as shown in the code and output below.
Report subject and period:
This report is for user P13NB for the time period from 2018-04-25 to 2018-05-09
Import and restructure data:
Overview of available csv files and their current use status:
| “activity.csv” |
coded activity types |
in use |
| “battery.csv” |
charging log |
in use |
| “bluetooth.csv” |
- |
not in use |
| “calllog.csv” |
log of phonecalls |
not in use |
| “experience_sampling.csv” |
answers to daily self-reports |
in use |
| “hardware_info.csv” |
- |
not in use |
| “location.csv” |
GPS data from watch and phone |
in use |
| “screen.csv” |
screen on/off transitions (phone) |
in use |
| “sms.csv” |
sms log |
not in use |
| “step_count.csv” |
step counts from watch and phone |
in use |
| “wearable.csv” |
- |
no longer in use |
| “wifi.csv” |
- |
not in use |
The output below confirms which files have been imported, followed by processing steps.
activity file imported
battery file imported
calllog file imported
experience_sampling file imported
location file imported
screen file imported
sms file imported
step_count file imported
***
Processing file containing: activity confidence
Complete: Data extracted for specified user
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch
Complete: column 'label' created describing activity based on activity code
Complete: activity data reduced from 8245 to 3526 rows by keeping only the max-confidence activities for each unique timestamp
***
Processing file containing: plugged status level
Complete: Data extracted for specified user
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch
Complete: column 'mode' created describing charging status based on 'plugged' variable
***
Processing file containing: name number type duration
User ID is not in dataset, returning NULL
***
Processing file containing: question_id answer
Complete: Data extracted for specified user
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch
***
Processing file containing: lat lon accuracy provider
Complete: Data extracted for specified user
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch
***
Processing file containing: screen_on
Complete: Data extracted for specified user
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch
***
Processing file containing: address body type read
User ID is not in dataset, returning NULL
***
Processing file containing: step_count
Complete: Data extracted for specified user
Complete: Data extracted for period of interest
Complete: funf_version converted to dsource column indicating whether reading is from phone or watch
Quality check: data source
Check whether data coming from watch, phone or both (also gives date of last reading).
Data in activity comes from phone
Last reading in activity is on [1] "2018-05-07 03:38:31 CEST"
Data in battery comes from phone
Last reading in battery is on [1] "2018-05-07 03:38:31 CEST"
Data in experience_sampling comes from phone
Last reading in experience_sampling is on [1] "2018-05-06 20:10:41 CEST"
Data in location comes from phone watch
Last reading in location is on [1] "2018-05-07 03:43:03 CEST"
Data in screen comes from phone
Last reading in screen is on [1] "2018-05-07 02:48:58 CEST"
Data in step_count comes from watch phone
Last reading in step_count is on [1] "2018-05-07 03:38:31 CEST"
LS0tDQp0aXRsZTogJ0FXRUFSIFN0dWRpZXM6IERhdGEgQ2hlY2tlcicNCmF1dGhvcjogJ0p1bGlhIFRob3JwZScNCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQo8IS0tIENvZGUgYmFzZWQgb24gRGF0YUNoZWNrZXJfbWFpbl92Ml8yMDE4MDIyMC5SLiAtLT4NCg0KVGhpcyBub3RlYm9vayB3YXMgd3JpdHRlbiBmb3IgdGhlIEFXRUFSIENhc2UgU3R1ZGllcyBhcyBwYXJ0IG9mIGEgUGhEIHByb2plY3Qgb24gKkVuZ2luZWVyaW5nIFN5c3RlbXMgRGVzaWduIGluIEhlYWx0aGNhcmUqIGF0IHRoZSBFbmdpbmVlcmluZyBTeXN0ZW1zIERpdmlzaW9uLCBEVFUgTWFuYWdlbWVudCwgaW4gY29sbGFib3JhdGlvbiB3aXRoIFJpZ3Nob3NwaXRhbGV0LUdsb3N0cnVwLg0KDQpUaGUgcHVycG9zZSBvZiB0aGlzIG5vdGVib29rIGlzIHRvIHByb3ZpZGUgcmVndWxhciByZXBvcnRzIG9uIHRoZSBkYXRhIGJlaW5nIHJlY29yZGVkIGZyb20gc3R1ZHkgcGFydGljaXBhbnRzLCB0byBjaGVjayB0aGF0IGl0IGlzIGJlaW5nIHJlY29yZGVkIGFuZA0KbG9va3MgYXMgZXhwZWN0ZWQuIFRoZSBSIHNjcmlwdCBpbXBvcnRzLCB0ZXN0cyBhbmQgcGxvdHMgZGF0YSBmcm9tIGEgc3BlY2lmaWVkIHBhcnRpY2lwYW50IGFuZCB0aW1lZnJhbWUsIGFzIHNob3duIGluIHRoZSBjb2RlIGFuZCBvdXRwdXQgYmVsb3cuDQoNCmBgYHtyIFNFVFVQLCBpbmNsdWRlPUZBTFNFfQ0KIyBTZXQgdGhlIGRyaXZlLCBsb2FkIHBhY2thZ2VzIGFuZCBmdW5jdGlvbnMuDQoNCnNldHdkKCJNOi9QaERfRm9sZGVyL0Nhc2VTdHVkaWVzL0RhdGFfYW5hbHlzaXMvc291cmNlIikNCg0KIyBMb2FkIHJlcXVpcmVkIHBhY2thZ2VzOg0KbGlicmFyeShkYXRhLnRhYmxlKQ0KbGlicmFyeShkdHBseXIpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShtYWdyaXR0cikNCmxpYnJhcnkobHVicmlkYXRlKQ0KbGlicmFyeShnZ3Bsb3QyKQ0KbGlicmFyeShyZXNoYXBlMikNCmxpYnJhcnkobWFwdG9vbHMpDQpsaWJyYXJ5KHBsb3RseSkNCmxpYnJhcnkobWFwcykNCmxpYnJhcnkobWFwcHJvaikNCmxpYnJhcnkoc3ApDQpsaWJyYXJ5KGNhVG9vbHMpDQoNCiMgTG9hZCBjdXN0b20gZnVuY3Rpb25zOg0Kc291cmNlKCJKUlRfdXRpbHMuUiIpDQoNCiMgRGVmaW5lIGNvbnN0YW50czoNCmZvbGRlciA8LSAiLi4vLi4vRGF0YV9kdW1wcy9kdW1wX2N1cnJlbnRfYW5hbHlzaXMvIiAjIHBhdGggdG8gZm9sZGVyIHRoYXQgaG9sZHMgbXVsdGlwbGUgLmNzdiBmaWxlcywgZG93bmxvYWRlZCBmcm9tIG5pZ2h0aW5nYWxlIHdlYnBvcnRhbA0Kbm90LmluLnVzZSA8LSBjKCJibHVldG9vdGgiLCJoYXJkd2FyZV9pbmZvIiwid2VhcmFibGUiLCJ3aWZpIikNCmFjdGl2aXR5LnNlbGVjdGlvbiA8LSBjKCJTdGlsbCIsICJGb290IiwgIlZlaGljbGUiLCAiVGlsdGluZyIsICJCaWN5Y2xlIikgIyBtYWluIGFjdGl2aXR5IHR5cGVzDQp0b19wbG90IDwtIGMoImFjdGl2aXR5IiwgDQogICAgICAgICAgICAgImJhdHRlcnkiLCANCiAgICAgICAgICAgICAiZXhwcyIsIA0KICAgICAgICAgICAgICJsb2NhdGlvbiIsIA0KICAgICAgICAgICAgICJzY3JlZW4iLCANCiAgICAgICAgICAgICAic3RlcHMiKQ0KdXNlcnMgPC0gbGlzdChqdWxpYSA9ICI5M2E2ZDMxYy1lMjE2LTQ4ZDgtYTlhMi1mMmY3MjM2MjU0OGQiLA0KICAgICAgICAgICAgICBkZWFuID0gImIxMzE2MjgwLTM4YTYtNDVlMS05YmI5LTdhZmIyYTFhMmE5NiIsDQogICAgICAgICAgICAgIHBlciA9ICI3YmY1ZmVjMy1mNDZmLTQxOWUtOTU3My0wMDFmZTliNDdkODEiLA0KICAgICAgICAgICAgICB2ZXJlbmEgPSAiYTBjNzRhODgtYjI5My00YjMxLTkyYzAtOTY3NTAyYjI4MTMyIiwNCiAgICAgICAgICAgICAgYWd6YW0gPSAiNTIxNTJkZGEtMGY1NC00NmQxLWFmZmEtNmRlYTg1Zjg0MGRjIiwNCiAgICAgICAgICAgICAgYW5qYSA9ICIzNmY5ZDA2MS1jNWU5LTRmMzAtOTFiMi04MzM1MWZmNDAyODgiLA0KICAgICAgICAgICAgICAjUDAxRkEgPSAiNjMyMWY3ZWYtYTk1OC00NGFkLWI4ZTUtNWFhMDRiYzAwNGUxIiwNCiAgICAgICAgICAgICAgUDAzSkogPSAiZTlmNDRlYjUtODk2Mi00ODk0LTgzYzYtNzgzMDI1YzZlYWVhIiwNCiAgICAgICAgICAgICAgUDA2U1MgPSAiZjlmMjQ4MzgtYzg0NC00MmQ0LTgzNDMtYjIwZWJkZDIyMGYzIiwNCiAgICAgICAgICAgICAgUDA3TUcgPSAiNGZiZmRkZDAtYTM0Ni00MWM4LWJlOGQtZjg4MDRiNTA2OGQzIiwNCiAgICAgICAgICAgICAgUDA4VUggPSAiYTg1ZjI5OWUtN2EwOS00YmE3LWJjMTktOGEyMDBjMjY4NmMyIiwNCiAgICAgICAgICAgICAgUDEwSkwgPSAiZDA1ZmE5ODQtOGQzYi00NDA1LWI0MTctMjExZDFhM2Y1MGQ2IiwNCiAgICAgICAgICAgICAgUDEzTkIgPSAiNzVjYzUyNDAtNzgwNS00NTUwLWFlYWUtODczZGY5OTg0NzEwIikNCg0KYGBgDQoNCiMjIyBSZXBvcnQgc3ViamVjdCBhbmQgcGVyaW9kOg0KYGBge3IgU2V0dGluZ3MsIGVjaG89RkFMU0V9DQoNCiMgU2VsZWN0IHVzZXINCnVzZXJpZCA8LSB1c2VycyRQMTNOQg0KDQojIFNldCBwZXJpb2Qgb2YgaW50ZXJlc3QNCmQuc3RhcnQgPC0gYXMuUE9TSVhjdCgiMjAxOC0wNC0yNSIpICMgeXl5eS1tbS1kZCANCmQuc3RvcCA8LSBhcy5QT1NJWGN0KCIyMDE4LTA1LTA5IikNCg0KY2F0KCJUaGlzIHJlcG9ydCBpcyBmb3IgdXNlciAiLCBuYW1lcyh1c2Vyc1t1c2Vycz09dXNlcmlkXSksICJmb3IgdGhlIHRpbWUgcGVyaW9kIGZyb20gIiwgYXMuY2hhcmFjdGVyKGQuc3RhcnQpLCAiIHRvICIsIGFzLmNoYXJhY3RlcihkLnN0b3ApKSANCg0KYGBgDQoNCg0KIyMjIEltcG9ydCBhbmQgcmVzdHJ1Y3R1cmUgZGF0YToNCk92ZXJ2aWV3IG9mIGF2YWlsYWJsZSBjc3YgZmlsZXMgYW5kIHRoZWlyIGN1cnJlbnQgdXNlIHN0YXR1czoNCg0KRmlsZSB8IERlc2NyaXB0aW9uIHwgU3RhdHVzDQotLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0NCiJhY3Rpdml0eS5jc3YiIHwgY29kZWQgYWN0aXZpdHkgdHlwZXMgfCBpbiB1c2UNCiJiYXR0ZXJ5LmNzdiIgfCBjaGFyZ2luZyBsb2cgfCBpbiB1c2UNCiJibHVldG9vdGguY3N2IiB8IC0gfCBub3QgaW4gdXNlDQoiY2FsbGxvZy5jc3YiIHwgbG9nIG9mIHBob25lY2FsbHMgfCBub3QgaW4gdXNlDQoiZXhwZXJpZW5jZV9zYW1wbGluZy5jc3YiIHwgYW5zd2VycyB0byBkYWlseSBzZWxmLXJlcG9ydHMgfCBpbiB1c2UNCiJoYXJkd2FyZV9pbmZvLmNzdiIgfCAtIHwgbm90IGluIHVzZQ0KImxvY2F0aW9uLmNzdiIgfCBHUFMgZGF0YSBmcm9tIHdhdGNoIGFuZCBwaG9uZSB8IGluIHVzZQ0KInNjcmVlbi5jc3YiIHwgc2NyZWVuIG9uL29mZiB0cmFuc2l0aW9ucyAocGhvbmUpIHwgaW4gdXNlDQoic21zLmNzdiIgfCBzbXMgbG9nIHwgbm90IGluIHVzZQ0KInN0ZXBfY291bnQuY3N2IiB8IHN0ZXAgY291bnRzIGZyb20gd2F0Y2ggYW5kIHBob25lIHwgaW4gdXNlDQoid2VhcmFibGUuY3N2IiB8IC0gfCBubyBsb25nZXIgaW4gdXNlDQoid2lmaS5jc3YiICB8IC0gfCBub3QgaW4gdXNlDQoNClRoZSBvdXRwdXQgYmVsb3cgY29uZmlybXMgd2hpY2ggZmlsZXMgaGF2ZSBiZWVuIGltcG9ydGVkLCBmb2xsb3dlZCBieSBwcm9jZXNzaW5nIHN0ZXBzLg0KDQoNCmBgYHtyIEltcG9ydCwgZWNobz1GQUxTRX0NCmRhdGFzZXRzLmFsbCA8LSBnZXQuZGF0YShmb2xkZXIsIG5vdC5pbi51c2UpICU+JSANCiAgbGFwcGx5KHJlc3RydWN0dXJlLCB1c2VyaWQsIGQuc3RhcnQsIGQuc3RvcCkNCmRhdGFzZXRzLmFsbCA8LSBGaWx0ZXIoZnVuY3Rpb24oeCkgIWlzLm51bGwoeClbMV0sZGF0YXNldHMuYWxsKSAjIHJlbW92ZSBhbnkgbnVsbCBkYXRhZnJhbWVzDQoNCiN0ZXN0PC1maWx0ZXIoZGF0YXNldHMuYWxsJGFjdGl2aXR5LCB1c2VyPT0iZjlmMjQ4MzgtYzg0NC00MmQ0LTgzNDMtYjIwZWJkZDIyMGYzIikNCg0KYGBgDQoNCg0KIyMjIFF1YWxpdHkgY2hlY2s6IGRhdGEgc291cmNlDQpDaGVjayB3aGV0aGVyIGRhdGEgY29taW5nIGZyb20gd2F0Y2gsIHBob25lIG9yIGJvdGggKGFsc28gZ2l2ZXMgZGF0ZSBvZiBsYXN0IHJlYWRpbmcpLiANCg0KYGBge3IgUUMsIGVjaG89RkFMU0V9DQpmb3IgKGkgaW4gMTpsZW5ndGgoZGF0YXNldHMuYWxsKSl7DQogIGogPC0gZGF0YXNldHMuYWxsW1tpXV0NCiAgaWYoIWlzLm51bGwoaikpew0KICAgIGNhdCgiRGF0YSBpbiAiLG5hbWVzKGRhdGFzZXRzLmFsbClbaV0sImNvbWVzIGZyb20gIiwgZGlzdGluY3Qoaixkc291cmNlKVssMV0sIlxuIik7DQogICAgY2F0KCJMYXN0IHJlYWRpbmcgaW4iLG5hbWVzKGRhdGFzZXRzLmFsbClbaV0sImlzIG9uIixjYXB0dXJlLm91dHB1dChtYXgoaiR0aW1lc3RhbXApKSwiXG5cbiIpOw0KICB9DQp9DQpgYGANCg0KIyMgVmlzdWFsaXNlIGRhdGE6DQoNCjwhLS0gdG8gZG8gLS0+DQoNCjwhLS0gKiByZXNvbHZlIHdhcm5pbmdzIC0tPg0KPCEtLSAqIGN1c3RvbWlzZSBjb2xvdXJzIC0tPg0KPCEtLSAqIGF4ZXMgd2l0aCBkYXRlczogb3JkZXJzIG5vdCBpbiB0aW1lLCBqYW51YXJ5IGFmdGVyIGZlYiAob3JkZXJlZCBieSBkYXkgbm90IHRha2luZyBtb250aCBpbnRvIGFjY291bnQpIC0tPg0KDQpgYGB7ciBQbG90cywgZWNobz1GQUxTRSwgd2FybmluZz1GQUxTRX0NCnJlc3VsdHM8LXNob3dfcGxvdHMoZGF0YXNldHMuYWxsLCB0b19wbG90KQ0KZm9yKGkgaW4gMTpsZW5ndGgocmVzdWx0cykpew0KICBwcmludChyZXN1bHRzW1tpXV0pDQp9DQoNCmBgYA0KDQo=